The ITU-H.264 Standard (H.264), also known as MPEG-4, Part 10, and Advanced Video Coding, may be utilized to encode a video stream. The video stream may be encoded on a frame-by-frame basis, and may be encoded on a macroblock-by-macroblock basis. The MPEG-4 standard may specify the use of spatial prediction, temporal prediction, discrete cosine transformation (DCT), interlaced coding, and lossless entropy coding, for example, to compress macroblocks within a video stream.
Video encoders often utilize techniques to compress data before transmission. The decoders are typically designed to decode received encoded data. One coding technique is variable length coding, where symbols with higher probability of occurrence are given shorter codes, and symbols that are less probable are given longer codes. Once a symbol is assigned a certain code, the whole stream of data is encoded using the same code for the same symbol. One problem with using such a technique in systems where data is constantly changing such as, for example, video data, is that certain symbols that may have high probability of occurrences in one portion of the video, may become less likely to occur in other portions of the video. As a result, using the same symbols throughout the video becomes less efficient.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.